KiCadのファイルをgitで管理するとどのように見えるか確認してみた
こんにちはCX事業本部IoT事業部のさかじです。
組み込みソフトウェアを開発するにはハードウェアを扱いますので、回路図が読めると理解度が増します。また、手書きでも回路図を書いておくと、後日ソフトを見直すときでもどのような接続かどうかなどが回路図から読み取ることができます。
回路図CADを使えなかった私は、簡単な回路は手で書いて残していました。
時を経て回路図CADでかけるようになりましたので、ソフト開発と同様に履歴も管理したくなりましたのでgitで管理するとどのように見えるかを確認しました。
環境
- Windows10
- KiCad 5.1.10
リポジトリ作成
$ git init
空のプロジェクトを作成
KiCadで適当なプロジェクトを作成します。今回は led
というプロジェクトを作成して何も回路を作成していない状態です。
作成されたフォルダを見てみると
$ ls -l total 0 -rwxrwxrwx 1 sakag sakag 51 Nov 1 13:46 led.kicad_pcb -rwxrwxrwx 1 sakag sakag 688 May 1 2021 led.pro -rwxrwxrwx 1 sakag sakag 72 Nov 1 13:46 led.sch
これ等のファイルをコミットしていきます。
$ git add led.kicad_pcb led.pro led.sch $ git commit -m "1st commit" [master (root-commit) xxxxx] 1st commit 3 files changed, 38 insertions(+) create mode 100644 led/led.kicad_pcb create mode 100644 led/led.pro create mode 100644 led/led.sch
簡単な回路を作成して違いを見る
簡単に回路を作成してみます。
変更点を見てみます。
$ ls -l total 8 -rwxrwxrwx 1 sakag sakag 1590 Nov 1 15:05 led-cache.lib -rwxrwxrwx 1 sakag sakag 51 Nov 1 13:46 led.kicad_pcb -rwxrwxrwx 1 sakag sakag 688 May 1 2021 led.pro -rwxrwxrwx 1 sakag sakag 1724 Nov 1 15:05 led.sch -rwxrwxrwx 1 sakag sakag 72 Nov 1 13:46 led.sch-bak $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: led.sch Untracked files: (use "git add <file>..." to include in what will be committed) led-cache.lib led.sch-bak no changes added to commit (use "git add" and/or "git commit -a")
led.sch
ファイルが変更され、led-cache.lib
, led.sch-bak
ができました。
led.sch-bak
はバックアップファイルなので無視します。
led.sch
やled-cache.leb
を見ると各部品の座標や情報がテキストで入っていることが確認できます。
$ git diff diff --git a/led/led.sch b/led/led.sch index fff8c68..8edd90e 100644 --- a/led/led.sch +++ b/led/led.sch @@ -1,4 +1,83 @@ -EESchema Schematic File Version 2 -EELAYER 25 0 -EELAYER END -$EndSCHEMATC +EESchema Schematic File Version 4 +EELAYER 30 0 +EELAYER END +$Descr A4 11693 8268 +encoding utf-8 +Sheet 1 1 以下省略
変更があったファイルと追加されたファイルをコミット
$ git add led/led.sch led/led-cache.lib $ git commit -m "add LED" [master c75e8fb] add LED 2 files changed, 160 insertions(+), 4 deletions(-) create mode 100644 led/led-cache.lib rewrite led/led.sch (65%)
最後に
KiCadのファイルはテキストファイルですのでgitで管理すると変更点もわかりやすいですね。 プライベートでも業務でも簡単な回路でも回路図CADへ入力して履歴管理行くと便利そうです。
我々の開発では、回路図作成はプログラムと違って同時に操作することがほぼないので、この状態でリモートリポジトリへ保存することでチームメンバとのやり取りも楽です。